# Site Collection Configuration
Configures the provisioning of a SharePoint site collection, including URL patterns, storage quotas, sharing policies, sensitivity labels, and associated site structure.
Referenced by: SiteCollection file handler via the SiteCollectionSet column.
# Overview
SiteCollectionCfg defines the properties and structure applied when creating a new SharePoint site collection. It references a SiteCfg (for site structure) and optionally a GroupCfg (for group definitions).
Child configurations:
SiteCfg— site structure, columns, content types, libraries (referenced viaSiteSet)GroupCfg— SharePoint groups to create (referenced viaGroupSet)
# Applied when
A site collection is provisioned when:
- The SiteCollection file handler references this configuration name
- The provisioning job creates a new site collection using this template
- The
Owneraccount exists in the directory and has permissions to create site collections - Applied once during site collection creation; retroactive updates to the site collection structure require re-provisioning or manual SharePoint administration
ConvertToGroupOrTeamorConvertToGroupOrTeamGroupSetconversion (if configured) occurs immediately after site collection creation, routing to the named Office 365 Group configuration
# Core settings
# Name
Type: string | Default: — | Required: Yes
Unique name for this configuration. Referenced from file handlers via SiteCollectionSet column.
# FormatUrl
Type: string | Default: — | Required: Yes
Server-relative URL pattern. Supports dynamic variables: {ClientCode}, {MatterCode}. Example: /teams/{MatterCode}
# Owner
Type: string | Default: — | Required: Yes
Login name of the site collection primary administrator.
# SiteSet
Type: string | Default: — | Required: Yes
Name of the SiteCfg to apply as the root site template.
# GroupSet
Type: string | Default: — | Required: No
Name of the GroupCfg to apply (creates groups on the site collection).
# Language
Type: integer? | Default: — | Required: No
LCID (opens new window) for site collection language (e.g., 1033 = English US).
# Version
Type: enum? | Default: — | Required: No
SharePoint version: SP2010 (14), SP2013 (15). Only for SharePoint on-premises.
# TimeZone
Type: integer? | Default: 4 | Required: No
SharePoint time zone ID. See time zone reference (opens new window).
# WaitTimeWhenSiteCollectionIsCreated
Type: integer | Default: 5 | Required: No
Seconds to wait after creation for SharePoint propagation. Increase if SharePoint Online is slow.
# ConvertToGroupOrTeam
Type: string | Default: — | Required: No
Convert this site collection to a Microsoft 365 Group or Team using the default Office 365 Group Set. Values: "true", "false", or variable like "{IsTeam}".
Cannot be set together with ConvertToGroupOrTeamGroupSet — use one or the other.
# ConvertToGroupOrTeamGroupSet
Type: string | Default: — | Required: No
Name of the Office365GroupCfg to use when converting this site collection to a Microsoft 365 Group or Team. Supports dynamic variables (e.g. "{Division}_Groups"). When set, this named group configuration is used for group creation instead of the default.
Mutually exclusive with
ConvertToGroupOrTeam— setting both causes a validation error when saving in the Configurator and a provisioning failure at runtime.
Behavior:
- If only
ConvertToGroupOrTeamGroupSetis set → conversion is triggered using the namedOffice365GroupCfg. - If only
ConvertToGroupOrTeamis set → conversion is triggered using the default group configuration (existing behavior). - If both are set → error at save time (Configurator) and at runtime (provisioning service).
- If neither is set → no conversion; a standard SharePoint site collection is created.
# Storage quotas (SharePoint on-premises)
# StorageMaximumLevel
Type: long? | Default: — | Required: No
Maximum storage quota in GB.
# StorageWarningLevel
Type: long? | Default: — | Required: No
Storage quota warning threshold in GB.
# UserCodeMaximumLevel
Type: double? | Default: — | Required: No
Maximum machine resources for user code.
# UserCodeWarningLevel
Type: double? | Default: — | Required: No
Warning threshold for user code resources.
# SharePoint Online settings
Note: All properties in this section apply only to SharePoint Online. They are ignored on SharePoint 2016 and on-premises deployments.
# SharingCapabilities
Type: enum? | Default: — | Required: No
External sharing level: Disabled, ExternalUserSharingOnly, ExternalUserAndGuestSharing, ExistingExternalUserSharingOnly.
# Classification
Type: string | Default: — | Required: No
Site classification (custom values or Microsoft 365 default classifications).
# SensitivityLabel
Type: string | Default: — | Required: No
Sensitivity label ID to apply. See sensitivity labels for sites and groups (opens new window).
# HubSiteUrl
Type: string | Default: — | Required: No
URL of the hub site (opens new window) to associate with.
# HubSiteId
Type: Guid? | Default: — | Required: No
Hub site ID (alternative to HubSiteUrl).
# BlockDownloadPolicy
Type: bool? | Default: — | Required: No
Prevent file downloads for users without managed devices. See block download policy (opens new window).
# ExcludeBlockDownloadPolicySiteOwners
Type: bool? | Default: — | Required: No
Only applies when BlockDownloadPolicy is true. Exclude site owners from the block download policy. Site owners can download files regardless of device management status.
# ReadOnlyForBlockDownloadPolicy
Type: bool? | Default: — | Required: No
Only applies when BlockDownloadPolicy is true. Enable read-only mode for users affected by block download policy (users can view but not download or edit).
# ConditionalAccessPolicy
Type: enum? | Default: — | Required: No
Conditional access policy type: AllowFullAccess, AllowLimitedAccess, BlockAccess. Determines what actions unmanaged devices can perform on site content.
# AuthenticationContextName
Type: string | Default: — | Required: No
Only applies when ConditionalAccessPolicy is AuthenticationContext. Name of the authentication context to enforce for this site.
# LimitedAccessFileType
Type: enum? | Default: — | Required: No
Only applies when ConditionalAccessPolicy is AllowLimitedAccess. Specifies which file types are allowed for unmanaged devices: OfficeOnlineFilesOnly (web-only), WebPreviewableFiles (web preview only), OtherFiles (other types).
# AllowEditing
Type: bool? | Default: — | Required: No
Only applies when ConditionalAccessPolicy is AllowLimitedAccess. Allow users on unmanaged devices to edit documents (web version).
# ReadOnlyForUnmanagedDevices
Type: bool? | Default: — | Required: No
Only applies when ConditionalAccessPolicy is AllowLimitedAccess. Force read-only mode for all users on unmanaged devices.
# ModernPageExtension
Type: bool? | Default: — | Required: No
Enable modern page extensions (SharePoint Online only).
# Document ID settings
# DocIDProviderUseDefaultPrefix
Type: bool? | Default: — | Required: No
Use the default tenant Document ID prefix. Set to false to use a custom prefix.
# DocIDProviderPrefixFormat
Type: string | Default: — | Required: No
Custom Document ID prefix (max 13 characters). Supports {MatterCode}. Ignored if DocIDProviderUseDefaultPrefix is true.
# Farm features
# FarmFeatures
Type: Guid (list) | Default: [DocIDProvider] | Required: No
Array of farm feature GUIDs to activate.
# DeactivateFarmFeatures
Type: Guid (list) | Default: — | Required: No
Array of farm feature GUIDs to deactivate.
# Modern site settings (SharePoint Online)
# CommunicationSiteDesign
Type: enum? | Default: — | Required: No
Modern site design: Team (-1), Topic (0), Showcase (1), Blank (2).
# CommunicationSiteDesignId
Type: Guid? | Default: — | Required: No
Site design template ID for custom designs.
# UseGraphSiteCreation
Type: bool | Default: false | Required: No
When enabled, site collections are created via Microsoft Graph (POST /beta/sites) using the Sites.Create.All application permission, instead of the SharePoint CSOM Tenant API (Sites.FullControl.All). Reduces the permission footprint for the "Matter = Site Collection" design — no tenant-wide Sites.FullControl.All is required.
Requirements:
Sites.Create.All,Sites.Selected, andTermStore.ReadWrite.AllGraph application permissions granted in Entra ID (Azure AD).Sites.Create.Allalone is not sufficient — it only allows creating the site;Sites.Selectedis required for provisioning to make further changes to the site afterwards. The app is automatically granted full control on the sites it creates, so no manual grant is needed for those new matter sites.- The
Sites.SelectedSharePoint application permission — a permission distinct from the GraphSites.Selectedabove, granted on the SharePoint API rather than Microsoft Graph — plus afullcontrolgrant on the central DMS site. Unlike the matter sites the app creates, this site pre-exists and is not covered by the automatic grant above, so it needs this one-time manual grant (writeis not sufficient — provisioning manages lists on that site). - After changing application permissions in Entra ID, restart the provisioning service — it caches its access token for about an hour, so new permissions do not take effect immediately.
See API Permissions (Registered Application) for the full permissions reference.
Limitations:
- Only team sites are supported.
CommunicationSiteDesign = Team(a team site, created via Graph with templatests) and no design (the default) are created via Graph. CombiningUseGraphSiteCreation = truewithCommunicationSiteDesign = Topic,Showcase, orBlank, or with anyCommunicationSiteDesignId, throwsNotSupportedExceptionat provisioning time — use the standard (CSOM) creation path for communication sites and custom site designs. This includesCommunicationSiteDesignIdcombined withCommunicationSiteDesign = Team: the CSOM path silently ignores the design ID in that combination, but the Graph path rejects it. - Uses the Microsoft Graph beta endpoint. Will switch to
v1.0once generally available. - The configured
TimeZoneis applied through the site's regional settings, which needs no tenant admin permission. Other site collection settings that require tenant admin permission (storage quotas,SharingCapabilities, hub site connection) are skipped with a warning in the log that names the affected settings. Apply those manually or use the standard (CSOM) creation path withSites.FullControl.All.
# Related
- Site Configuration — site structure and content (referenced via
SiteSet) - Group Configuration — SharePoint groups (referenced via
GroupSet) - Office 365 Group Configuration — alternative for modern teams
- SiteCollection file handler — how site collections are provisioned from Excel